/*
 * CharacterDataImp.h
 *
 *  Created on: Apr 27, 2009
 *      Author: wrice
 */

#ifndef CHARACTERDATAIMP_H_
#define CHARACTERDATAIMP_H_
#include "DOMCoreImp.h"
namespace DOMCoreImp {

class CharacterDataImp : public NodeImp, IMPLEMENTS( CharacterData ) {
protected:
	friend class DocumentImp;
	CharacterDataImp(DOMString nodeName, DOMString data, DocumentImp * ownerDocument);

public:
	virtual DOMString getData() throw(DOMExceptionPtr);
	virtual void setData(DOMString) throw(DOMExceptionPtr);

	virtual unsigned long getLength();

	virtual DOMString substringData(unsigned long offset, unsigned long count) throw(DOMExceptionPtr);
	virtual void appendData(DOMString arg) throw(DOMExceptionPtr);
	virtual void insertData(unsigned long offset, DOMString arg) throw(DOMExceptionPtr);
	virtual void deleteData(unsigned long offset, unsigned long count) throw(DOMExceptionPtr);
	virtual void replaceData(unsigned long offset, unsigned long count, DOMString arg) throw(DOMExceptionPtr);
};

}

#endif /* CHARACTERDATAIMP_H_ */
